#ifndef RULESETTABLEVIEW_H
#define RULESETTABLEVIEW_H

#include <QHeaderView>
#include <QModelIndex>
#include <QModelIndexList>
#include <QTableView>

/**
 \file rulesettableview.h

 \class RulesetTableView

 \brief Subclass of QTableView tweaked for Rulesets


*/
class RulesetTableView : public QTableView
{
    Q_OBJECT
public:
    explicit RulesetTableView(QWidget *parent = 0);

    /**
    \brief configure view behaviour
      **************/
    virtual void configureView();

    /**
    \brief get current row

    \return current row number
      *****************/
    virtual int currentRow();

signals:

    /**
    \brief propogates index of new row
      ******************/
    void rowChanged(QModelIndex);

public slots:

    /**
    \brief called when row changes

    Selects the current row and emits the rowChanged signal

    \param current - index of current row
    \param previous - index of row moved from
      ***************/
    virtual void currentChanged(const QModelIndex &current,
                                const QModelIndex &previous );


protected:


};

#endif // RULESETTABLEVIEW_H
